﻿using DataBaseLib.Entities;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataBaseLib
{
    public class MyDbContext
    {
        public SqlSugarClient sqlSugarClient;

        public MyDbContext()
        {
            string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

            //直接通过配置连接数据库
            ConnectionConfig connectionConfig = new ConnectionConfig()
            {
                //可以在连接字符串中设置连接池pooling=true;表示开启连接池
                //eg:min pool size=2;max poll size=4;表示最小连接池为2，最大连接池是4；默认是100
                ConnectionString = connStr,
                DbType = SqlSugar.DbType.MySql,//我这里使用的是Mysql数据库
                IsAutoCloseConnection = true,//自动关闭连接
                InitKeyType = InitKeyType.Attribute
            };

            sqlSugarClient = new SqlSugarClient(connectionConfig);
            //如果不存在创建数据库存在不会重复创建 
            sqlSugarClient.DbMaintenance.CreateDatabase(); // 注意 ：Oracle和个别国产库需不支持该方法，需要手动建库  
                                                           //创建表根据实体类CodeFirstTable1     
            sqlSugarClient.CodeFirst.InitTables(typeof(Student));//这样一个表就能成功创建了
        }
    }
}
